- NeRF is een nieuwe technologie dat op basis van een zogenoemd ‘neural network’ foto’s kan omzetten in 3D-objecten of -omgevingen.
- Eerder was dit ook al mogelijk, maar NeRF verandert de manier van werken en vooral de uitkomst fundamenteel.
- De grootste voordelen zijn enorme databesparing en dat het nieuwe dingen aangeleerd kan worden, waardoor de resultaten beter en sneller geproduceerd worden.
- Lees ook: DeepMind, het onderzoekslab van Google, zette artificial intelligence in voor een experiment met kernfusie – dat kan leiden tot betere fusiereactoren
Nee, we hebben het niet over het speelgoed, maar over een relatief nieuwe technologie die een belangrijke verandering in het maken van 3D-omgevingen kan betekenen. Het werkt op basis van een zogenoemd ‘neural network’, of we kunnen het ook heel hip ‘AI’ noemen.
Om uit te leggen wat een NeRF, of een Neural Radiance Field, anders doet dan de technologie die nu standaard is voor het maken van 3D-objecten en -omgevingen, moet je eerst kijken naar hoe het nu gebeurt.
Op dit moment wordt er een 3D-model gemaakt door foto’s van een object in een ‘3D-matrix’ te plaatsen. Op basis hiervan kan bepaald worden waar de randen van dit object zich bevinden. Dit kan vertaald worden naar een 3D-model waarop de foto’s als het ware geplakt worden. Dit houdt in dat er eigenlijk twee datasets zijn: een voor het model en een ander voor de bekleding van dit model.
Nadeel hiervan is dat hoe hoger de resolutie en de kwaliteit van het 3D-model is, hoe meer data nodig is om dit op te slaan. Je kunt je voorstellen dat foto’s die gebruikt worden om het model te bekleden meer data vragen als ze in 4K geschoten zijn dan HD-foto’s.
Neural Radiance Fields proberen deze problemen te ondervangen met slechts één doelstelling: met een relatief kleine dataset een 3D-visualisatie maken. Met andere woorden: met zo min mogelijk foto’s toch een goed uitziend 3D-object creëeren.
De technologie werkt in het begin relatief hetzelfde als de gangbare manier van werken, maar produceert fundamenteel andere resultaten.
Dat komt mede doordat het neurale netwerk waar het op werkt een fundamenteel onderdeel is van het 3D-model dat het genereert. Per object is er dus een NeRF nodig.
Het grootste verschil tegenover de huidige manier van 3D-objecten maken en renderen zit in het resultaat dat een NeRF produceert. De nieuwe technologie maakt namelijk een model dat per pixel direct de bijpassende kleur en transparantie met zich meedraagt in de data. Omgaan met transparantie is ook iets wat lastig is voor andere technologieën.
Om het simpel te zeggen: een NeRF maakt een 3D-model in kleur, terwijl de meest gebruikte manier van 3D-modellering de kleur er nog opgeplakt moet krijgen met bijvoorbeeld foto’s of andere beelden.
Dit resulteert in enorme databesparingen. Een model gemaakt met een NeRF neemt enkele MB’s in beslag, terwijl een vergelijkbaar reguliere variant al snel gigabytes kan kosten. Dat maakt dat toepassingen efficiënter met data kunnen omgaan. Ook is het makkelijk om dezelfde NeRF voor meerdere objecten in te zetten.
Hoe werkt NeRF?
Natuurlijk zitten er ook nadelen aan het gebruik van NeRF’s, maar daar komen we later op. Laten we eerst maar eens uitleggen hoe een NeRF werkt.
1. Beeld verzamelen van een object
Zonder beeld, geen 3D-object. Dat mag duidelijk zijn. Maar hoeveel foto’s er nodig zijn, ligt niet van tevoren vast. Dat is afhankelijk van de complexiteit en grootte van het object. Dit is ook direct de achilleshiel van de NeRF, want dit maakt het een datahongerig model.
Ook is de kwaliteit van de foto’s enorm belangrijk. Slechte foto’s resulteren in slechtere modellen.
2. Van die beelden moet de lokatie in een 3D-ruimte bepaald worden
Na het verzamelen en uitzoeken van de foto’s moeten ze voorzien worden van een locatie op een 3D-matrix. De juiste locatie is essentieel voor een goede werking van de NeRF.
3. Deze data invoeren in de NeRF
De eerste drie stappen zijn het meest werk- en data-intensief.
4. De AI bepaalt de locatie en kleur van pixels
Het neurale netwerk vuurt per pixel een ‘ray’ of straal af op de foto’s die in de 3D-matrix geplaatst zijn. Deze straal heeft meerdere punten waarop data wordt gecommuniceerd. Data bestaat uit locatie, kleur en transparantie.
Afhankelijk van waar de straal zich bevindt, stuurt het de data door naar het netwerk die het interpreteert en hiermee een model opmaakt.
De straal laat weten wanneer hij in een 3D-ruimte ‘iets’ raakt en wat voor kleur en eventuele transparantie dit heeft.
5. De uitkomst
De data die eruit komt zijn punten (pixels) op de X,Y, en Z-assen van de 3D-matrix. Deze punten dragen kleur- en transparantiedata in zich.
6. Het renderen van de data.
Als laatste moet het model geproduceerd en opgeslagen worden. Dat is precies wat de NeRF als eindresultaat geeft. Hier kunnen nog wat filters of andere trucjes op losgelaten worden om het eindresultaat te verbeteren. Een NeRF produceert in de basis namelijk vrij wazige beelden.
Omdat deze data relatief simpel is, kost het 'renderen' slechts seconden.
Mocht je een uitgebreidere en vooral technischere uitleg van de werking, ontwikkeling en toepassing van NeRF willen, dan is deze YouTube-video een goed punt om te starten.
'NeRF in the Wild'
In elk van deze stappen kunnen extra elementen worden toegevoegd. Zo werkte een groep ontwikkelaars bij Google aan een model dat foto’s van het internet verzamelde en in een matrix plaatste. Ze noemden dit 'NeRF in the Wild'.
Het nadeel was dat ze geen controle hadden over de kwaliteit van de foto’s en wat er precies op stond. Zo liepen ze er bijvoorbeeld tegenaan dat foto’s van de Trevi-fontein in Rome niet altijd in dezelfde kleuren is geschoten. Ook de tijd van de dag waarop de foto’s gemaakt zijn verschilde enorm. Maar het grootste probleem waren nog de toeristen die het beeld van de fontein blokkeerden.
De ontwikkelaars breidden de NeRF uit met een extra laag die dit soort problemen kon identificeren en er als het ware uit kan filteren. Het schoont als het ware elke foto op op basis van de data uit andere foto’s.
Het resultaat zie je hieronder in de video. De modellen zijn op het eerste gezicht goed gelukt en hebben een unieke eigenschap dat de kleuren onafhankelijk van het model aangepast kunnen worden.
De nadelen van NeRF
Maar naast deze voordelen, heeft het gebruik van een NeRF ook duidelijke nadelen.
Om er een paar te noemen:
- Het heeft erg veel data nodig. Vooral met complexe modellen moeten er veel foto’s verzameld worden.
- In de basis is het erg simpel, maar voor een goede werking moeten beelden perfect zijn. Dat wil zeggen dat ze zonder obstakels en op dezelfde tijd van de dag (dezelfde lichtinval) geschoten moeten zijn. Ook moeten de foto's van hoge kwaliteit zijn.
- Zelfs als de invoer perfect is, zijn de resultaten niet perfect. Een NeRF heeft wat trucjes nodig om goed beeld op te leveren. In de basis produceert het een wazig beeld.
- Het is relatief langzaam. Het aanleren van de dataset kost ongeveer een dag. Het renderen minder dan een minuut. Maar dit is afhankelijk van factoren als complexiteit en natuurlijk computerkracht.
- Door het voorgenoemde punt kan het waarschijnlijk nooit in realtime gebeuren.
Toch is de potentie van Neural Radiance Fields enorm. Zeker als je kijkt naar de data die in de toekomst makkelijk verzameld kan worden en het feit dat de ontwikkeling van NeRF supersnel gaat.
Je zou bijvoorbeeld kunnen denken aan het verzamelen van data uit de aankomende Facebook-bril of de camera’s op Tesla's, om hier langzaam maar zeker een gedetailleerde 3D-versie van bijvoorbeeld toeristische locaties mee te maken. Dit kan vervolgens gebruikt worden om in een 3D-wereld te gieten, zoals de metaverse of een game.
Het grote voordeel is dat deze data relatief weinig ruimte inneemt, waardoor het makkelijker toegankelijk is voor gebruik in toepassingen.
Voor nu moet je vooral simpeler denken: je zou met beelden van het internet (of je eigen foto’s) een model kunnen maken, om deze vervolgens met 'Augmented Reality' (AR) te projecteren in bijvoorbeeld een huiskamer. Denk aan een bank of schilderij waar (nog) geen 3D-model van is.
Het overgrote deel van de informatie uit dit artikel is afkomstig uit een wetenschappelijk rapport van Cornell University. Deze kun je zelf nalezen via deze pagina.
Meer lezen over Artificial Intelligence? Check deze artikelen:
- Artificial intelligence inzetten om werknemers te ontlasten bij saaie en repetitieve taken – zo doet het Amsterdamse BrainCreators dat
- Voormalige topman van Google zegt dat de metaverse van Facebook waarschijnlijk ‘niet goed is voor de menselijke samenleving’
- De nieuwe robot van Amazon die door je huis toert, heeft nog veel gebreken – ‘hij ziet je niet, valt van de trap en privacy is een nachtmerrie’
- Amazon monitort bezorgers met AI-software – ze krijgen strafpunten als ze in spiegels kijken of wanneer ze worden afgesneden
- In China werken bedrijven volop met met virtuele influencers die niet aankomen, nooit ouder worden en geen relletjes veroorzaken op social media